﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TR.AppService.Dto;
using TR.AppService.Dto.RKGLDto;
using TR.Domain.Entity;
using TR.Domain.Entity.RK;

namespace TR.AppService.AppService.RKGL
{
    public interface IWh_Inbill_hAppService
    {
        #region 新增所有功能
        //新增入库基本信息
        Task<bool> widInsert(wh_Inbill_hInsertDto wihi,List<wh_Inbill_dInsertDto> widi);

        //关联单号查询进货信息
        Task<DtoFenYe<GuanlianJHDH>> GLDHFenYeSelect(int mys,int dqy,string? dqsj,string? jssj,GLDHTjDto tj);

        //根据进货单号查询对应商品
        Task<List<JHDHchaHP>> JHDHChahp(string buy_code,HPTj tj);

        //仓库下拉框查询
        Task<List<bs_WareHouse>> CKXLKSelect();
        #endregion

        #region 主页面查询所有功能
        //入库管理主表查询
        Task<DtoFenYe<RKGL_SelectZB>> RKGLSelect(int mys,int dqy,RKGLZbTjCx tj);

        //改变进货状态
        Task<bool> updateState(List<int> Bian, char zt);

        //根据仓库编号查询库位
        Task<List<bs_Ware_Area>> SelectWare(string ware_code);

        //批量逻辑删除
        Task<bool> RKGLDelete(List<int> isdel);

        //单条逻辑删除
        Task<bool> RKGLDel(int Bian);

        //入库管理批量审核
        Task<bool> SHUpdate(List<int> Bian, char state, string sureman, string suredate, string remark);

        //入库管理批量撤销
        Task<bool> CXUpdate(List<int> Bian);
        #endregion

        #region 编辑页面主要功能
        //根据编号查询
        Task<wh_Inbill_h> RKBhSelect(string bh);

        //查询入库明细
        Task<DtoFenYe<RKMXXG>> RKMXXGSelect(int mys, int dqy, string tj);

        //入库管理修改
        Task<bool> RKUpdate(wh_Inbill_hUpdateDto jcxx,List<wh_Inbill_dUpdateDto> rkmx);

        //
        #endregion
    }
}
